package com.sojoys.artifact.factory.bytebuff;

import java.nio.charset.Charset;

public class ByteBuffType {
	
	//base type
	public static final byte BYTE 			= 127;
	public static final byte SHORT 			= 126;
	public static final byte INT 			= 125;
	public static final byte LONG 			= 124;
	public static final byte FLOAT 			= 123;
	public static final byte DOUBLE 			= 122;
//	public static final byte BOOLEAN 		= 7;
	public static final byte STRING 			= 121;
	public static final byte DATE 			= 120;

	//array type
	public static final byte BYTE_ARRAY 	= 119;
	public static final byte SHORT_ARRAY 	= 118;
	public static final byte INT_ARRAY 		= 117;
	public static final byte LONG_ARRAY 	= 116;
	public static final byte CHAR_ARRAY 	= 115;
	public static final byte FLOAT_ARRAY 	= 114;
	public static final byte DOUBLE_ARRAY 	= 113;
	public static final byte BOOLEAN_ARRAY = 112;
	public static final byte STRING_ARRAY 	= 111;
	public static final byte DATE_ARRAY 	= 110;
	
	public static final byte MAP 			= 109;
	public static final byte LIST 			= 108;
	public static final byte ARRAY 			= 107;
	
	
	
	//-----------------------------特殊类型定义----------------------------------
	public static final byte BOOLEAN_TRUE 		= 106;
	public static final byte BOOLEAN_FALSE 		= 105;
	
	public static final byte NULL 				= 104;
	
	public static final byte SAND_KING 			= 103;
	
	public static final byte BYTE_0 = 0;
	public static final byte BYTE_1 = 1;
	public static final byte BYTE_2 = 2;
	public static final byte BYTE_3 = 3;
	public static final byte BYTE_4 = 4;
	public static final byte BYTE_5 = 5;
	public static final byte BYTE_6 = 6;
	public static final byte BYTE_7 = 7;
	public static final byte BYTE_8 = 8;
	public static final byte BYTE_9 = 9;
	public static final byte BYTE_10 = 10;
	
	
	public static final byte STRING_1 = 11;
	public static final byte STRING_2 = 12;
	public static final byte STRING_3 = 13;
	public static final byte STRING_4 = 14;
	public static final byte STRING_5 = 15;
	public static final byte STRING_6 = 16;
	public static final byte STRING_7 = 17;
	public static final byte STRING_8 = 18;
	public static final byte STRING_9 = 19;
	public static final byte STRING_10 = 20;
	
	public static final byte BYTE_ARRAY_1 = 31;
	public static final byte BYTE_ARRAY_2 = 32;
	public static final byte BYTE_ARRAY_3 = 33;
	public static final byte BYTE_ARRAY_4 = 34;
	public static final byte BYTE_ARRAY_5 = 35;
	public static final byte BYTE_ARRAY_6 = 36;
	public static final byte BYTE_ARRAY_7 = 37;
	public static final byte BYTE_ARRAY_8 = 38;
	public static final byte BYTE_ARRAY_9 = 39;
	public static final byte BYTE_ARRAY_10 = 40;
	
	
	
	
	
	
	// byte
	public static final byte BYTE_MIN_VALUE = -128;
	public static final byte BYTE_MAX_VALUE = 127;
	// short
	public static final short SHORT_MIN_VALUE = -32768;
	public static final short SHORT_MAX_VALUE = 32767;
	// int
	public static final int INT_MIN_VALUE = 0x80000000;
	public static final int INT_MAX_VALUE = 0x7fffffff;
	// long
	public static final long LONG_MIN_VALUE = 0x8000000000000000L;
	public static final long LONG_MAX_VALUE = 0x7fffffffffffffffL;
	// float
	public static final float FLOAT_MIN_VALUE = 0x0.000002P-126f; // 1.4e-45f
	public static final float FLOAT_MAX_VALUE = 0x1.fffffeP+127f; // 3.4028235e+38f
	// double
	public static final double DOUBLE_MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324
	public static final double DOUBLE_MAX_VALUE = 0x1.fffffffffffffP+1023; // 1.7976931348623157e+308

	public static final Charset UTF8 = Charset.forName("UTF-8");
}
